#include<bits/stdc++.h>
using namespace std;
int main(){
  freopen("lost.in","r",stdin);
  freopen("lost.out","w",stdout);
  ios::sync_with_stdio(false);
  cin.tie(0); cout.tie(0);
  int n,k,c=0; cin>>n>>k;
  vector<int> d(n),s(n);
  for(auto &i:d)cin>>i,i--;
  if(k==1){
    for(int i:d)c+=(bool)i;
    cout<<c<<endl,exit(0);
  }
  c=(bool)d[0];
  vector<vector<int> > g(n);
  for(int i=1;i<n;i++)
    g[d[i]].emplace_back(i);
  function<void(int,int)> dfs=[&](int u,int l){
    s[u]=l;
    for(int i:g[u])dfs(i,l+1),s[u]=max(s[u],s[i]);
    if(u&&s[u]-l>=k-1)c++,s[u]=0;
  };
  dfs(0,0),cout<<c<<endl;
  return 0;
}